Komandno pokretanje Model Linearizer-a

Odabir i otvaranje Simulink modela
clear all;
% Ime fajla
simModel = 'KHN_BPF_v0';
% Otvaranje modela u Simulinku
open_system(simModel);
Derfinisanje radne tačke
% Kreiranje objekta radne tačke
opspec = operspec(simModel);
% Find operating points from specifications or simulation
[op,opreport] = findop(simModel,opspec);
Operating point search report: ---------------------------------
opreport =
Operating point search report for the Model KHN_BPF_v0. (Time-Varying Components Evaluated at time t=0) Operating point specifications were successfully met. States: ---------- Min x Max dxMin dx dxMax ____ _ ___ _____ __ _____ (1.) KHN_BPF_v0.C6.vc -Inf 0 Inf 0 0 0 (2.) KHN_BPF_v0.C8.vc -Inf 0 Inf 0 0 0 (3.) KHN_BPF_v0/Solver Configuration /EVAL_KEY/INPUT_1_1_1 -Inf 0 Inf 0 0 0 -Inf 0 Inf 0 0 0 Inputs: None ---------- Outputs: None ----------
Definisanje ulaza i izlaza sistema
% BPF
ioBPF(1) = linio([simModel '/Sine Wave'],1,'input');
ioBPF(2) = linio([simModel '/PS-Simulink Converter 1'],1,'output');
linSimModelBPF = linearize(simModel,ioBPF);
% LPF
ioLPF(1) = linio([simModel '/Sine Wave'],1,'input');
ioLPF(2) = linio([simModel '/PS-Simulink Converter 2'],1,'output');
linSimModelLPF = linearize(simModel,ioLPF);
Crtanje grafika
% Figure
N = 501;
f = logspace(0, 5, N);
w = 2*pi*f;
figure
hold on;
bodeplot(linSimModelBPF, w);
bodeplot(linSimModelLPF, w);
hold off;
grid on;
box on;
% Ekstrakcija magnitude i faze
[mag,phase] = bode(linSimModelBPF,w);
AdB = 20*log10(mag);
Aref = max(mag)/sqrt(2);
ArefdB = 20*log10(Aref);
figure;
semilogx(f, AdB(:), f,ArefdB*ones(N,1));
grid on;
box on;
xlabel('Frequency [Hz]');
ylabel('A, Aref');
legend('A', 'Aref');